#include <bits/stdc++.h>

using namespace std;

const int N = 1000005;
int n;
int h[N],f[N];
int main(){
    cin >> n;
    for(int i = 1; i<= n; i++)cin >> h[i];
    // 单调栈
    stack<int> s;
    for(int i = n; i>= 1; i--){
        
        while(!s.empty() && h[i] >= h[s.top()]) s.pop();
        
        f[i] = s.empty() ? 0 : s.top();

        s.push(i);
    }


    for(int i = 1; i <= n; i++)cout << f[i] <<"\n";


    return 0;
}